package com.tc.service;

import com.tc.domain.Patient_drug_order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tc.dto.Patient_drug_orderDTO;
import com.tc.dto.Patient_drug_orderQueryDTO;
import com.tc.vo.PageResultVO;
import com.tc.vo.Patient_drug_orderVO;

import java.util.List;

/**
 * <p>
 *  患者药品医嘱服务类
 * </p>
 *
 * @author jcd
 * @since 2025-07-09
 */
public interface IPatient_drug_orderService extends IService<Patient_drug_order> {

    /**
     * 分页查询患者药品医嘱信息
     *
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResultVO<Patient_drug_orderVO> pageQuery(Patient_drug_orderQueryDTO queryDTO);
    
    /**
     * 根据患者ID获取药品医嘱列表
     *
     * @param patientId 患者ID
     * @return 药品医嘱列表
     */
    List<Patient_drug_orderVO> getByPatientId(Long patientId);
    
    /**
     * 根据ID获取患者药品医嘱详情
     *
     * @param id 医嘱ID
     * @return 患者药品医嘱详情
     */
    Patient_drug_orderVO getPatientDrugOrderById(Long id);
    
    /**
     * 新增患者药品医嘱
     *
     * @param patientDrugOrderDTO 患者药品医嘱信息
     * @return 是否成功
     */
    boolean addPatientDrugOrder(Patient_drug_orderDTO patientDrugOrderDTO);
    
    /**
     * 修改患者药品医嘱
     *
     * @param patientDrugOrderDTO 患者药品医嘱信息
     * @return 是否成功
     */
    boolean updatePatientDrugOrder(Patient_drug_orderDTO patientDrugOrderDTO);
    
    /**
     * 删除患者药品医嘱
     *
     * @param id 医嘱ID
     * @return 是否成功
     */
    boolean deletePatientDrugOrder(Long id);
}
